﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using DTO_MechSysWeb;
using BLL_MechSysWeb;

namespace WEB_MechSysWeb.Paginas_Logado
{
    public partial class ClientePerfil : System.Web.UI.Page
    {
        BLLCliente bllCliente = new BLLCliente();
        DTOCliente dtoCliente = new DTOCliente();
        BLLNoticia bllNoticia = new BLLNoticia();
        DTONoticia dtoNoticia = new DTONoticia();
        MembershipUser memberShipUser;
        string userID;

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                memberShipUser = Membership.GetUser(User.Identity.Name);
                if (memberShipUser != null)
                {
                    if (Roles.IsUserInRole("Cliente"))
                    {
                        userID = memberShipUser.ProviderUserKey.ToString();

                        lblNomeClientePerfil.Text = bllCliente.BuscarClienteNomePorUserID(userID);

                        ListarDados("");
                    }
                    if (Roles.IsUserInRole("Administrador"))
                    {

                        Response.Redirect("~/Paginas_Administrador/PaginaPrincipalAdm.aspx");
                    }
                }
                else
                {
                    Response.Redirect("~/Paginas_Publico/PagLogin.aspx");
                }
            }          
            catch (Exception)
            {
                Response.Redirect("~/Paginas_Publico/PagLogin.aspx");
            }
        
        }

        protected void ListarDados(string tipo)
        {
            int tamanhoPagina = 5;
            int registroInicio = 0;

            if (ViewState["registroInicio"] != null)
                registroInicio = (int)ViewState["registroInicio"];

            if (tipo == "proximo")
                registroInicio += tamanhoPagina;
            else if (tipo == "anterior")
                registroInicio -= tamanhoPagina;

            if (registroInicio < 0)
                registroInicio = 0;

            List<DTONoticia> lstNoticias = bllNoticia.BuscarNoticiasCadastradas(registroInicio, tamanhoPagina, tipo);
            dtLstNoticias.DataSource = lstNoticias;
            dtLstNoticias.DataBind();

            ViewState.Add("registroInicio", registroInicio);
        }

        protected void lnkbtnAnterior_Click(object sender, EventArgs e)
        {
            ListarDados("anterior");
        }

        protected void lnkbtnProximo_Click(object sender, EventArgs e)
        {
            ListarDados("proximo");
        }


    }
}